Field of the Invention
The present invention relates to a method for converting interface definitions within a source code program into an intermediate format, and from an intermediate format table into object program code, and also relates to an intermediate format table which is suitable for this purpose.
So-called interfaces are used in programs in order to interchange data between individual program modules or program objects. Modellers/programmers of hardware descriptions naturally make particularly intensive use of interface definitions. Specific hardware description languages are used for this purpose, which describe the behaviour of the individual simulated components, and the electrical linking of the components to one another. In the field of hardware description languages, it is normal to subdivide the program code into an area which is used to define the architectures of the components, and into a second area which exclusively defines the interfaces between the components.
In order to allow data to be interchanged between different hardware development projects, it is necessary to translate program code from an original hardware description language into an object description language, so that these hardware simulators or hardware synthesis programs, which are used in another project, can be processed. Even in pure software projects, it may be necessary to translate between one programming language and another, for example to make it possible to run them on different hardware platforms. Typical examples of hardware description languages between which conversion may take place are VHDL and VERILOG. However, there are also other programming languages in the hardware description area, between which conversion may be necessary.
Direct conversion between programming languages is complex and susceptible to errors. It is thus possible that an object interface definition may no longer match the original interface definition, so that faults occur during the hardware simulation. Owing to the complexity not only of the original program code but also of the object program code, verification of the correctness of the conversion by a specialist is a task which is likewise difficult and susceptible to errors. Furthermore, a conversion program is required for each possible pair of programming languages between which conversion is intended to be carried out. With the large number of programming languages in which interface definitions play a role, this results in the need for a large number of converters with a high level of complexity.